1. Field of the Invention
This invention relates in general to means and methods for allocating resources to satisfy a time varying demand on those resources and, more particularly, to improved means and methods for allocating manufacturing or process resources having multiple constraints thereon to meet various time varying manufacturing or service demands having multiple manufacturing or service parameter requirements.
2. Background Art
There is an ongoing requirement in commerce and industry to achieve the best possible usage of manufacturing or other resources, e.g., production machines, computers transportation systems, controllers, testers, labor, etc., consistent with the volume, characteristics and quality of products or services desired to be produced using those resources. Frequently, a particular product or service which is desired to be obtained may need many sequential or parallel steps that must be performed using the various resources. The particular steps or parameters of those steps may vary with different products or services and/or during different stages of the assembly or handling process.
At the same time, the resources intended to be used to make the products or provide the services have certain inherent capacity. For example, the quantity that can be produced or handled per unit time on a particular machine or or by particular workers or at a particular stage of the process may be fixed by physical constraints on the machine or workers or process stage; or a given production machine or stage may only be capable of reaching certain temperatures or lifting certain weight or only have available only certain atmospheres or chemicals or voltages or currents; or a given resource may only be capable of carrying out particular steps or providing a particular sequence of steps. Those of skill in the art will appreciate that these are only examples of the many physical constraints that may be associated with individual production or process resources. As used herein, the words "capacity" or "capacities" are intended to refer collectively to the many limitations or constraints which determine the ability of a resource to respond to a demand.
Similarly, the product or service desired will require that certain physical steps or other conditions be provided. For example, a certain quantity of the product must be made; or at certain stages of the process various materials must be subjected to certain temperatures, voltages, forming operations and/or atmospheres; or certain ingredients or information must be added. Collectively, these demand requirements define what it takes to obtain the desired product or service.
The problem faced by those managing the resources, is to balance in the most desirable way, the demand on the resources against the availability of the resources, taking into account all of the complex details and interactions that are part of real world production or processes. This activity is generally referred to as "scheduling" or "production control" and has existed for many years. An important and especially complex part of this activity, is determining how new or modified demands may be optimally accommodated in a manufacturing or service process which is already partially loaded by previously scheduled demands. Many possible options may exist for accommodating the new or modified demands. Also, resource availability is changing in real time as the previously scheduled production lots or materials or service recipients continue to advance through the process.
Historically, scheduling has been done by the use of what is referred to in the art as "time buckets", that is, using fixed unit increments of time wherein a given resource, e.g., a particular production resource, is assigned an availability value. For example, a large chart is made on which the production resources are listed, e.g., along the left margin and usually in the order intended to be used. Running across the top are the unit time increments, for example, hours, days or weeks. The intersections of the resource rows and the time columns are the "time buckets". When a resource is committed to perform a particular step for a particular duration, the corresponding number of time buckets are filled in or marked in some fashion. The start time, stop time and duration are indicated by where on the chart and how many of the time buckets are filled in. Often, the amount of a resource committed to a particular production lot and/or the amount remaining that might be assigned to another production lot or both are recorded. In a typical, sequential, time bucket scheduling chart, the track of an individual batch or production lot appears as a staggered series of entries extending from upper left toward lower right.
When a new or modified demand is presented to the production scheduler, he scans the board looking for time buckets which have unused capacity and which match the other demand requirements. If he finds a sufficient number of available time buckets with sufficient unused capacity, he enters the next production lot into the schedule. Various marking or identification schemes have been used in the past to record this information and computer programs have been written for many general purpose computers that attempt to keep track of this time bucket allocation procedure.
A major difficulty with these and other prior art scheduling approaches is that they become extremely unwieldy and time consuming when the number of constraints on the manufacturing resources and/or the number of demand requirements needed by the desired products or services rises. Very large charts and/or data matrices are needed. Even though powerful (and expensive) computers are employed to maintain the time bucket allocation data and receive the input demand requirements, inordinately long times are required with prior art approaches to achieve optimal balancing of resources against demand. It has not been possible to achieve real-time demand-resource allocation solutions for complex manufacturing or process resources faced with complex product or service demands. One of the reasons for this is the very large amount of data required to be recorded and manipulated by prior art approaches.
Accordingly, it is a object of the present invention to provide an improved means and method for comparing resource availability versus demand requirements for better resource scheduling.
It is a further object of the present invention to provide an improved means and method for resource and demand identification, coding and reconciliation which requires less memory and computing resources than in the prior art and/or, which can be accomplished in less time.
It is an additional object of the present invention to provide an improved means and method for resource and demand identification, coding and reconciliation which can provide more accurate information output than has been previously available.
The words "scheduling interval" are used herein to denoted a period of time extending into the future during which it is desired to be able to schedule resources. In general, the longer the production or service cycle time the longer the scheduling interval. Scheduling intervals of weeks, months and years are common. In some rare cases which involve very long process cycles, schedules can extend over one or more decades.
The words "process" or "processes" are used herein to refer generally to the steps by which one or more resources operate on various input materials to change their physical state to provide a product or service that satisfies the demand. The symbol "c" is used herein to denote capacity or capacities associated with resources, i.e., what amounts and/or properties of the resources are available. The symbol "r" is used herein to denote physical requirements on various resources associated with various demands, i.e., what amounts and/or properties of the resources are needed to meed the demand.
Those of skill in the art will appreciate that both "c" and "r" are usually multi-dimensional. For example, a resource may have simultaneous capacities "c" for achievable lifting range, work rate, decision making ability, materials handled, forming ability, computation ability, temperature, voltage and current range capability, chemicals dispensed, impurities excluded or provided, input/output configurations, and so forth. Similarly, a desired product or service may have simultaneous demand requirements "r" for values of these or other capacity attributes which must be provided. Further, those of skill in the art will understand that both c and r can change with time and that the process for satisfying the demand may be sequential, parallel or a combination thereof.
As used herein, the expressions "&lt;/=", "&gt;/=" and "=/=" are intended to indicate "less than or equal to", "greater than or equal to", and "not equal to", respectively.